SGVsbG8gTmVpbCwNCkknbSBzZW5kaW5nIGEgcGF0Y2ggcHJvcG9zYWwgZm9y IHJlc2hhcGUgY2hl
Y2twb2ludGluZyBpbiBJTVNNLg0KVGhpcyBwYXRjaCBpcyBhIGNvbnRpbnVh dGlvbiBvZiB0aGUg
T0xDRSAob25saW5lIGNhcGFjaXR5IGV4cGFuc2lvbikNCnBhdGNoZXMgc2Vu dCBieSBBZGFtIEt3
b2xlayBzb21lIHRpbWUgYWdvLCBzbyBwbGVhc2UgYXBwbHkgdGhpcyBvbmUg YWZ0ZXIgdGhvc2Ug
cGF0Y2hlcy4NCg0KU3VwcG9ydCBmb3IgSU1TTSBNaWdyYXRpb24gUmVjb3Jk IHdhcyBhZGRlZC4N
Cm1kIHJlYWRzIHRoZSBtaWdyYXRpb24gcmVjb3JkIHdoZW4gc3RhcnRpbmcg dGhlIHJlc2hhcGUu
IFRoZSByZWNvcmQgaXMgaW5pdGlhbGl6ZWQgYnkgbWRtb24gKHdpdGggY3Vy cmVudCBmYW1pbHlO
dW0gZnJvbSBzdXBlcmJsb2NrKS4NCm1kIGNhbGN1bGF0ZXMgcmVzaGFwZSBw YXJhbWV0ZXJzIGlu
IHJhaWQ1X2luaXRfcmVzaGFwZV9pbXNtKCkuDQp0aGUgbWlncmF0aW9uIHJl Y29yZCBpcyB1cGRh
dGVkIHRocm91Z2g6IG1kX3VwZGF0ZV9zYiAtPiBwZXJzIC0+IHdyaXRlX21p Z3JfcmVjb3JkKCku
DQpUaGUgcmVzaGFwZV9wb3N0aW9uIG5vdGlmaWNhdGlvbnMgYXJlIHNpbXBs aWZpZWQ7IHdlIGRv
IG5vdCB3YWl0IGZvciBtZXRhZGF0YSB1cGRhdGUgbm90aWZpY2F0aW9ucyBm cm9tIHRoZSB1c2Vy
IHNwYWNlIHNpbmNlDQpjdXJyX21pZ3JfdW5pdCBpcyBub3cgdXBkYXRlZCBp biB0aGUgbWlncmF0
aW9uIHJlY29yZCBkaXJlY3RseSBpbiBtZC4NClByb2JhYmx5IHdlIGNvdWxk IHJlbW92ZSBzeXNm
czpyZXNoYXBlX3Bvc3Rpb24gbm90aWZpY2F0aW9uIGF0IGFsbCBzaW5jZSBJ TVNNIE9ST00gdXNl
cyBjdXJyX21pZ3JfdW5pdCBmcm9tIHRoZSBtaWdyYXRpb24gcmVjb3JkLg0K DQpUaGUgcGF0Y2gg
aXMgYSBmaXJzdCBwYXJ0IG9mIElNU00gY2hlY2twb2ludGluZyBhbmQgaXMg bm90IHRoZSBjb21w
bGV0ZSBmZWF0dXJlIHlldC4uLg0KU3RpbGwgdGhlIG1pZ3JhdGlvbiBjb3B5 IGFyZWEgc2hvdWxk
IGJlIGltcGxlbWVudGVkIHRvIGJlIGZ1bGx5IGNvbXBhdGlibGUgd2l0aCBJ TVNNIE9ST00uDQoN
ClJlZ2FyZHMsDQpNYWNpZWsuDQoNCi0tLQ0KIGRyaXZlcnMvbWQvbWQuYyAg ICB8ICAgOTYgKysr
KysrKystLS0tLS0tLS0tLS0tLS0tLS0NCiBkcml2ZXJzL21kL21kLmggICAg fCAgICA0ICsNCiBk
cml2ZXJzL21kL3JhaWQ1LmMgfCAgMTkwICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrLS0NCiBkcml2ZXJzL21kL3JhaWQ1LmggfCAg IDIwICsrKysrDQog
NCBmaWxlcyBjaGFuZ2VkLCAyMzYgaW5zZXJ0aW9ucygrKSwgNzQgZGVsZXRp b25zKC0pDQoNCmRp
ZmYgLS1naXQgYS9kcml2ZXJzL21kL21kLmMgYi9kcml2ZXJzL21kL21kLmMN CmluZGV4IGY0MThl
ZjYuLjk5NTQ3ZTIgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL21kL21kLmMNCisr KyBiL2RyaXZlcnMv
bWQvbWQuYw0KQEAgLTE4OTUsNiArMTg5NSwyNSBAQCBzdGF0aWMgdm9pZCBw cmludF9yZGV2KG1k
a19yZGV2X3QgKnJkZXYsIGludCBtYWpvcl92ZXJzaW9uKQ0KICAgICAgICAg ICAgICAgIHByaW50
ayhLRVJOX0lORk8gIm1kOiBubyByZGV2IHN1cGVyYmxvY2shXG4iKTsNCiB9 DQoNCittZGRldl90
ICptZF9maW5kX3BhcmVudF9jb250YWluZXIobWRkZXZfdCAqbXlfbWRkZXYp DQorew0KKyAgICAg
ICBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkOw0KKyAgICAgICBtZGRldl90ICpt ZGRldjsNCisNCisg
ICAgICAgaWYgKCFteV9tZGRldi0+ZXh0ZXJuYWwpDQorICAgICAgICAgICAg ICAgcmV0dXJuIE5V
TEw7DQorDQorICAgICAgIGZvcl9lYWNoX21kZGV2KG1kZGV2LCBoZWFkKSB7 DQorICAgICAgICAg
ICAgICAgaWYgKCFtZGRldi0+Z2VuZGlzaykNCisgICAgICAgICAgICAgICAg ICAgICAgIGNvbnRp
bnVlOw0KKyAgICAgICAgICAgICAgIGlmIChzdHJuY21wKG15X21kZGV2LT5t ZXRhZGF0YV90eXBl
ICsgMSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtZGRldi0+Z2Vu
ZGlzay0+ZGlza19uYW1lLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
IHN0cmxlbihtZGRldi0+Z2VuZGlzay0+ZGlza19uYW1lKSkgPT0gMCkNCisg ICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBtZGRldjsNCisgICAgICAgfQ0KKyAgICAgICBy ZXR1cm4gTlVMTDsN
Cit9DQorDQogc3RhdGljIHZvaWQgbWRfcHJpbnRfZGV2aWNlcyh2b2lkKQ0K IHsNCiAgICAgICAg
c3RydWN0IGxpc3RfaGVhZCAqdG1wOw0KQEAgLTIwNTAsOCArMjA2OSwxMCBA QCByZXBlYXQ6DQog
ICAgICAgICAgICAgICAgLyogT0xDRTogcmVzaGFwZSBmb3IgZXh0ZXJuYWwg bWV0YSAqLw0KICAg
ICAgICAgICAgICAgIGlmIChtZGRldi0+ZXh0ZXJuYWwgJiYNCiAgICAgICAg ICAgICAgICAgICAg
dGVzdF9iaXQoTURfUkVDT1ZFUllfUkVTSEFQRSwgJm1kZGV2LT5yZWNvdmVy eSkpIHsNCi0gICAg
ICAgICAgICAgICAgICAgICAgIC8qIGNsZWFyIHNpbmdsZSBub3RpZmljYXRp b24gZ3VhcmQgKi8N
Ci0gICAgICAgICAgICAgICAgICAgICAgIGNsZWFyX2JpdChNRF9DSEFOR0Vf UEVORElOR19FWFQs
ICZtZGRldi0+ZmxhZ3MpOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAg LyogdXBkYXRlIG1p
Z3JhdGlvbiByZWNvcmQgKi8NCisgICAgICAgICAgICAgICAgICAgICAgIGlm IChtZGRldi0+cGVy
cy0+d3JpdGVfbWlncl9yZWNvcmQpDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1k
ZGV2LT5wZXJzLT53cml0ZV9taWdyX3JlY29yZChtZGRldik7DQoNCiAgICAg ICAgICAgICAgICAg
ICAgICAgIC8qIGZvciBleHRlcm5hbCBtZXRhIGNsZWFuIE1EX0NIQU5HRV9Q RU5ESU5HIGZsYWcN
CiAgICAgICAgICAgICAgICAgICAgICAgICAqIGFzIGNoYW5nZXMgd2lsbCBi ZSBtYWRlIGJ5IHVz
ZXIgc3BhY2UgY29kZQ0KQEAgLTM2NTgsMTYgKzM2NzksNiBAQCBzeW5jX2Nv bXBsZXRlZF9zdG9y
ZShtZGRldl90ICptZGRldiwgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVu KQ0KICAgICAgICBp
ZiAoIW1kZGV2LT5leHRlcm5hbCkNCiAgICAgICAgICAgICAgICByZXR1cm4g LUVJTlZBTDsNCg0K
LSAgICAgICAvKiBwdXQgbm90aWZpY2F0aW9uIGZvciBleHRlcm5hbCBtZXRh IG9uIGFueSB2YWx1
ZSBwdXQgaW4gKiovDQotICAgICAgIGlmICh0ZXN0X2FuZF9jbGVhcl9iaXQo TURfQ0hBTkdFX1BF
TkRJTkdfRVhULCAmbWRkZXYtPmZsYWdzKSkgew0KLSAgICAgICAgICAgICAg IC8qIHJlZW50cnkg
Yml0IGNsZWFyICovDQotICAgICAgICAgICAgICAgY2xlYXJfYml0KE1EX0NI QU5HRV9QRU5ESU5H
X0VYVCwgJm1kZGV2LT5mbGFncyk7DQotDQotICAgICAgICAgICAgICAgLyog d2FrZSB1cCAqLw0K
LSAgICAgICAgICAgICAgIGNsZWFyX2JpdChNRF9DSEFOR0VfREVWUywgJm1k ZGV2LT5mbGFncyk7
DQotICAgICAgICAgICAgICAgd2FrZV91cCgmbWRkZXYtPnNiX3dhaXQpOw0K LSAgICAgICB9DQot
DQogICAgICAgIC8qIGNoZWNrIGlmIG51bWVyaWMgKi8NCiAgICAgICAgaWYg KHN0cmljdF9zdHJ0
b3VsbChidWYsIDEwLCAmcGFzc2VkVmFsdWUpKQ0KICAgICAgICAgICAgICAg IHJldHVybiAtRUlO
VkFMOw0KQEAgLTY3NzcsNiArNjc4OCw4IEBAIHN0YXRpYyBpbnQgcmVtb3Zl X2FuZF9hZGRfc3Bh
cmVzKG1kZGV2X3QgKm1kZGV2KQ0KICAgICAgICB9DQogICAgICAgIHJldHVy biBzcGFyZXM7DQog
fQ0KKw0KKw0KIC8qDQogICogVGhpcyByb3V0aW5lIGlzIHJlZ3VsYXJseSBj YWxsZWQgYnkgYWxs
IHBlci1yYWlkLWFycmF5IHRocmVhZHMgdG8NCiAgKiBkZWFsIHdpdGggZ2Vu ZXJpYyBpc3N1ZXMg
bGlrZSByZXN5bmMgYW5kIHN1cGVyLWJsb2NrIHVwZGF0ZS4NCkBAIC02ODI5 LDYyICs2ODQyLDEw
IEBAIHZvaWQgbWRfY2hlY2tfcmVjb3ZlcnkobWRkZXZfdCAqbWRkZXYpDQog ICAgICAgICAgICAg
ICAgKG1kZGV2LT5zYWZlbW9kZSA9PSAyICYmICEgYXRvbWljX3JlYWQoJm1k ZGV2LT53cml0ZXNf
cGVuZGluZykNCiAgICAgICAgICAgICAgICAgJiYgIW1kZGV2LT5pbl9zeW5j ICYmIG1kZGV2LT5y
ZWNvdmVyeV9jcCA9PSBNYXhTZWN0b3IpDQogICAgICAgICAgICAgICAgKSkg ew0KLSAgICAgICAg
ICAgICAgIC8qIE9MQ0UgKi8NCi0gICAgICAgICAgICAgICBpZiAobWRkZXYt PmV4dGVybmFsKSB7
DQotICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2VuZF9Ob3RpZmljYXRp b24gPSAwOw0KLQ0K
LSAgICAgICAgICAgICAgICAgICAgICAgLyogcmVlbnRyeSBjaGVjayAqLw0K LSAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKCF0ZXN0X2JpdChNRF9DSEFOR0VfUEVORElOR19F WFQsICZtZGRldi0+
ZmxhZ3MpKSB7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q IHRyaWdlciBtb25p
dG9yIGFuZCB3YWl0IGZvciB1cHRhdGUgbWV0YSAqLw0KLSAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICBpZiAoKG1kZGV2LT5yZXNoYXBlX3Bvc2l0aW9uID4gMCkgJiYN Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIChtZGRldi0+cmVzaGFwZV9wb3Np dGlvbiAhPSBNYXhT
ZWN0b3IpKSB7DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLyogc2ln
bmFsIHVzZXIgc3BhY2UgaWYgcmVzaGFwZSBpcyBpbiBwcm9ncmVzcyBvbmx5 DQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogdXNlICBzaW5nbGUg bm90aWZpY2F0aW9u
IGd1YXJkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICovDQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0X2JpdChN RF9DSEFOR0VfUEVO
RElOR19FWFQsICZtZGRldi0+ZmxhZ3MpOw0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgIC8qIE5vdGlmeSByZXNoYXBlX3Bvc2l0aW9uICovDQotICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2VuZF9Ob3RpZmljYXRpb24gPSAx Ow0KLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAgICAg ICAgICB9IGVsc2Ug
ew0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBmb3IgZXh0 ZXJuYWwgbWV0YSwg
d2hlbiB3ZSBhcmUgYmxvY2tlZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKiBv
biBmbGFnIHdlIGhhdmUgdG8gY2hlY2sgaWYNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICoga3RocmVhZF9zaG91bGRfc3RvcCgpLiAgaWYgc28sDQotICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAqIGtpY2sgaXQgaW50ZXJuYWxseQ0KLSAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgKiAodXNlciBzcGFjZSBwYXJ0IGNhbiBiZSB1bmF2YWls YWJsZQ0KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0byBjb21wbGV0ZSBhY3Rp b24sIHRoaXMgYWxs
b3dzIHRocmVhZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KiB0byB3YWtlIHVw
IGFuZCB0ZXJtaW5hdGUpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqLw0KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoa3RocmVhZF9zaG91 bGRfc3RvcCgpKSB7
DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyog Y2xlYW4gc2luZ2xl
IG5vdGlmaWNhdGlvbiBndWFyZCAqLw0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgIGNsZWFyX2JpdChNRF9DSEFOR0VfUEVORElOR19FWFQsICZtZGRl di0+ZmxhZ3MpOw0K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5v dGlmaWNhdGlvbiAq
Lw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNs ZWFyX2JpdChNRF9D
SEFOR0VfREVWUywgJm1kZGV2LT5mbGFncyk7DQotICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgd2FrZV91cCgmbWRkZXYtPnNiX3dhaXQpOw0KLSAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICB9IGVsc2Ugew0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgIC8qIGNoZWNrIGlmIHVzZXIgc3BhY2UgKG1kbW9uIGlzIGFsaXZl ICovDQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbm90aGluZyBj aGFuZ2VkICovDQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1k ZGV2LT5yZXNoYXBl
X3Bvc2l0aW9uID09IG1kZGV2LT5yZXNoYXBlX3Bvc2l0aW9uX3NlbnQpIHsN Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZ2V0 X3NlY29uZHMoKSAt
IG1kZGV2LT5yZXNoYXBlX3Bvc2l0aW9uX3NlbnRfdGltZXN0YW1wKSA+IDE1 KSB7DQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHByaW50ayhL
RVJOX0lORk8gIk9MQ0U6IG1kbW9uIGlzIGRlYWQgP1xuIik7DQotICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRfTm90 aWZpY2F0aW9uID0g
MTsNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0NCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQotICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICAgICAgICAgIH0N Ci0NCi0gICAgICAg
ICAgICAgICAgICAgICAgIGlmIChzZW5kX05vdGlmaWNhdGlvbikgew0KLSAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvKiB0dXJuIG9mZiBoYW5kIHNoYWtlIHdpdGgg bWRtb24NCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICogLSBhdCB0aGlzIG1vbWVu dCBjaGVja3BvaW50
aW5nIGlzIGltcGxlbWVudGVkIGluIG1kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAqLw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKg0KLSAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzeXNmc19ub3RpZnkoJm1kZGV2LT5rb2JqLCBO VUxMLCAicmVzaGFw
ZV9wb3NpdGlvbiIpOw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtZGRldi0+cmVz
aGFwZV9wb3NpdGlvbl9zZW50ID0gbWRkZXYtPnJlc2hhcGVfcG9zaXRpb247 DQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1kZGV2LT5yZXNoYXBlX3Bvc2l0aW9u X3NlbnRfdGltZXN0
YW1wID0gZ2V0X3NlY29uZHMoKTsNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKi8N
Cg0KKyAgICAgICAgICAgICAgIC8qIFVwZGF0aW5nIGV4dGVybmFsIG1ldGFk YXRhICovDQorICAg
ICAgICAgICAgICAgaWYgKChtZGRldi0+ZXh0ZXJuYWwpICYmIChtZGRldi0+ ZmxhZ3MpKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZF91cGRhdGVfc2IobWRk ZXYsIDApOw0KLSAg
ICAgICAgICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgICAg
ICByZXR1cm47DQogICAgICAgIH0NCg0KQEAgLTcyMzAsNiArNzE5MSw5IEBA IEVYUE9SVF9TWU1C
T0wobWRfcmVnaXN0ZXJfdGhyZWFkKTsNCiBFWFBPUlRfU1lNQk9MKG1kX3Vu cmVnaXN0ZXJfdGhy
ZWFkKTsNCiBFWFBPUlRfU1lNQk9MKG1kX3dha2V1cF90aHJlYWQpOw0KIEVY UE9SVF9TWU1CT0wo
bWRfY2hlY2tfcmVjb3ZlcnkpOw0KK0VYUE9SVF9TWU1CT0wobWRfc3VwZXJf d3JpdGUpOw0KK0VY
UE9SVF9TWU1CT0wobWRfc3VwZXJfd2FpdCk7DQorRVhQT1JUX1NZTUJPTCht ZF9maW5kX3BhcmVu
dF9jb250YWluZXIpOw0KIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsNCiBNT0RV TEVfQUxJQVMoIm1k
Iik7DQogTU9EVUxFX0FMSUFTX0JMT0NLREVWX01BSk9SKE1EX01BSk9SKTsN CmRpZmYgLS1naXQg
YS9kcml2ZXJzL21kL21kLmggYi9kcml2ZXJzL21kL21kLmgNCmluZGV4IDEx ODg1YzguLmJkNTQ2
NjUgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL21kL21kLmgNCisrKyBiL2RyaXZl cnMvbWQvbWQuaA0K
QEAgLTEyMSw3ICsxMjEsNiBAQCBzdHJ1Y3QgbWRkZXZfcw0KDQogI2RlZmlu ZSBNRF9TWU5DX0NP
TVBMRVRFRF9TSE9XXzAgMyAgLyogZm9yY2UgdG8gc2hvdyBpbiBzeW5jIGNv bXBsZXRlIDAgKi8N
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICB3aGVu IGl0IGlzIHNldCBm
cm9tIHVzZXIgc3BhY2UgICovDQotI2RlZmluZSBNRF9DSEFOR0VfUEVORElO R19FWFQgNCAgICAg
ICAgLyogc3VwZXJibG9jayB1cGRhdGUgaW4gcHJvZ3Jlc3MgZXh0ZXJuYWwg Ki8NCiAgICAgICAg
aW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXNwZW5kZWQ7DQog ICAgICAgIGF0b21p
Y190ICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlX2lvOw0KICAgICAg ICBpbnQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJvOw0KQEAgLTM1Nyw2ICszNTYsOCBA QCBzdHJ1Y3QgbWRr
X3BlcnNvbmFsaXR5DQogICAgICAgICAqIGJ5IG1kbW9uDQogICAgICAgICAq Lw0KICAgICAgICBp
bnQgKCp3YWl0X3Jlc2hhcGUpKG1kZGV2X3QgKm1kZGV2LCB1bnNpZ25lZCBp bnQgdXNlVGltZW91
dCk7DQorICAgICAgIC8qIHdyaXRlcyBNaWdyYXRpb24gUmVjb3JkIHdoaWxl IHJlc2hhcGluZyAq
Lw0KKyAgICAgICB2b2lkICgqd3JpdGVfbWlncl9yZWNvcmQpIChtZGRldl90 ICptZGRldik7DQog
fTsNCg0KDQpAQCAtNDU2LDUgKzQ1Nyw2IEBAIGV4dGVybiB2b2lkIG1kX3Nl dF9hcnJheV9zZWN0
b3JzKG1kZGV2X3QgKm1kZGV2LCBzZWN0b3JfdCBhcnJheV9zZWN0b3JzKTsN CiBleHRlcm4gaW50
IG1kX2NoZWNrX25vX2JpdG1hcChtZGRldl90ICptZGRldik7DQogZXh0ZXJu IGludCBtZF9pbnRl
Z3JpdHlfcmVnaXN0ZXIobWRkZXZfdCAqbWRkZXYpOw0KIHZvaWQgbWRfaW50 ZWdyaXR5X2FkZF9y
ZGV2KG1ka19yZGV2X3QgKnJkZXYsIG1kZGV2X3QgKm1kZGV2KTsNCitleHRl cm4gbWRkZXZfdCAq
bWRfZmluZF9wYXJlbnRfY29udGFpbmVyKG1kZGV2X3QgKm15X21kZGV2KTsN Cg0KICNlbmRpZiAv
KiBfTURfTURfSCAqLw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvcmFpZDUu YyBiL2RyaXZlcnMv
bWQvcmFpZDUuYw0KaW5kZXggNjU2YTg1Mi4uZDhiYWExMSAxMDA2NDQNCi0t LSBhL2RyaXZlcnMv
bWQvcmFpZDUuYw0KKysrIGIvZHJpdmVycy9tZC9yYWlkNS5jDQpAQCAtMzky MCwxMyArMzkyMCw2
IEBAIHN0YXRpYyBpbnQgbWFrZV9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0X3F1 ZXVlICpxLCBzdHJ1
Y3QgYmlvICogYmkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3Bp
bl91bmxvY2tfaXJxKCZjb25mLT5kZXZpY2VfbG9jayk7DQogICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2NoZWR1bGUoKTsNCiAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICBnb3RvIHJldHJ5Ow0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICB9IGVsc2Ugew0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGlmICgo
bWRkZXYtPmRlbHRhX2Rpc2tzID4gMCkgJiYNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGxvZ2ljYWxfc2VjdG9yIDwgY29uZi0+cmVzaGFw ZV9zYWZlKSkgew0K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3Bpbl91bmxv
Y2tfaXJxKCZjb25mLT5kZXZpY2VfbG9jayk7DQotICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzY2hlZHVsZSgpOw0KLSAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXRyeTsNCi0gICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg ICAgICAgIHNwaW5f
dW5sb2NrX2lycSgmY29uZi0+ZGV2aWNlX2xvY2spOw0KQEAgLTQwMjAsNiAr NDAxMyw3OSBAQCBz
dGF0aWMgaW50IG1ha2VfcmVxdWVzdChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAq cSwgc3RydWN0IGJp
byAqIGJpKQ0KICAgICAgICByZXR1cm4gMDsNCiB9DQoNCisvKg0KKyAqIElN U00gc3BlY2lmaWMg
Y29kZS4NCisgKiBXcml0ZXMgcmVzaGFwZSBjaGVja3BvaW50IHRvIElNU00g TWlncmF0aW9uIFJl
Y29yZA0KKyAqLw0KKyNkZWZpbmUgUkFJRF9ESVNLX1JFU0VSVkVEX0JMT0NL U19JTVNNX0hJIDQx
Nw0KKy8qIEdlbmVyYWwgbWlncmF0aW9uIGNoZWNrcG9pbnRpbmcgb25seSBv Y2N1cnMgdG8gYXQg
bW9zdCAyIGRpc2tzICovDQorI2RlZmluZSBNQVhfQ0tQVF9ESVNLU19JTVNN IDINCisNCit2b2lk
IHJhaWQ1X3VwZGF0ZV9taWdyX3JlY29yZF9pbXNtKG1kZGV2X3QgKm1kZGV2 KQ0KK3sNCisgICAg
ICAgcmFpZDVfY29uZl90ICpjb25mID0gbWRkZXYtPnByaXZhdGU7DQorICAg ICAgIHN0cnVjdCBp
bXNtX21pZ3JfcmVjb3JkICptaWdyX3JlYzsNCisgICAgICAgc3RydWN0IHBh Z2UgKmNrcHRfcGFn
ZTsNCisgICAgICAgbWRrX3JkZXZfdCAqcmRldjsNCisgICAgICAgbG9uZyBs b25nIHVuc2lnbmVk
IGN1cnJfbWlncl91bml0Ow0KKyAgICAgICBzZWN0b3JfdCBkZXZfc2VjdG9y cywgbWlncl9yZWNf
c2VjdG9yOw0KKyAgICAgICBzZWN0b3JfdCBtaW5fZGV2X3NlY3RvcnMgPSAt MUxMVTsNCisgICAg
ICAgbWRkZXZfdCAqcGFyZW50Ow0KKw0KKyAgICAgICBwYXJlbnQgPSBtZF9m aW5kX3BhcmVudF9j
b250YWluZXIobWRkZXYpOw0KKyAgICAgICBpZiAoIXBhcmVudCkNCisgICAg ICAgICAgICAgICBy
ZXR1cm47DQorDQorICAgICAgIC8qIGlmIG1ldGEgaXMgbm90IElNU00sIGV4 aXQgKi8NCisgICAg
ICAgaWYgKHN0cmNtcChwYXJlbnQtPm1ldGFkYXRhX3R5cGUsICJpbXNtIikg IT0gMCkNCisgICAg
ICAgICAgICAgICByZXR1cm47DQorDQorICAgICAgIGNrcHRfcGFnZSA9IGFs bG9jX3BhZ2UoR0ZQ
X0tFUk5FTCk7DQorICAgICAgIGlmICghY2twdF9wYWdlKSB7DQorICAgICAg ICAgICAgICAgcHJp
bnRrKEtFUk5fQUxFUlQgIm1kOiBvdXQgb2YgbWVtb3J5LlxuIik7DQorICAg ICAgICAgICAgICAg
cmV0dXJuOw0KKyAgICAgICB9DQorDQorICAgICAgIG1pZ3JfcmVjID0gKHN0 cnVjdCBpbXNtX21p
Z3JfcmVjb3JkICopIHBhZ2VfYWRkcmVzcyhja3B0X3BhZ2UpOw0KKyAgICAg ICBtZW1jcHkobWln
cl9yZWMsICZjb25mLT5taWdyX3JlYywgc2l6ZW9mKCptaWdyX3JlYykpOw0K KyAgICAgICBtaWdy
X3JlYy0+cmVjU3RhdHVzID0gMDsgICAvKiBGSVggTUU6IEltcGxlbWVudCBJ TVNNIGNvcHkgQXJl
YSEhISAqLw0KKyAgICAgICBjdXJyX21pZ3JfdW5pdCA9IGNvbmYtPnJlc2hh cGVfcHJvZ3Jlc3M7
DQorDQorICAgICAgIGlmIChtaWdyX3JlYy0+YmxvY2tzUGVyVW5pdCA9PSAw KSB7DQorICAgICAg
ICAgICAgICAgLyogTWlncmF0aW9uIFJlY29yZCBpcyBub3QgcmVhZHkgeWV0 Li4uKi8NCisgICAg
ICAgICAgICAgICByZXR1cm47DQorICAgICAgIH0NCisgICAgICAgc2VjdG9y X2RpdihjdXJyX21p
Z3JfdW5pdCwgbWlncl9yZWMtPmJsb2Nrc1BlclVuaXQpOw0KKw0KKyAgICAg ICBtaWdyX3JlYy0+
ZGVzdDFzdE1lbWJlckxiYSA9IGN1cnJfbWlncl91bml0ICogbWlncl9yZWMt PmRlc3REZXB0aFBl
clVuaXQ7DQorICAgICAgIG1pZ3JfcmVjLT5jdXJyTWlnclVuaXQgPSAodTMy KWN1cnJfbWlncl91
bml0ICsgMTsNCisNCisgICAgICAgLyogRmlyc3QgZmluZCB0aGUgc21hbGxl c3QgZGV2ICovDQor
ICAgICAgIGxpc3RfZm9yX2VhY2hfZW50cnkocmRldiwgJm1kZGV2LT5kaXNr cywgc2FtZV9zZXQp
IHsNCisgICAgICAgICAgICAgICBkZXZfc2VjdG9ycyA9IHJkZXYtPmJkZXYt PmJkX2lub2RlLT5p
X3NpemUgLyA1MTI7DQorICAgICAgICAgICAgICAgaWYgKGRldl9zZWN0b3Jz IDwgbWluX2Rldl9z
ZWN0b3JzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgbWluX2Rldl9zZWN0 b3JzID0gZGV2X3Nl
Y3RvcnM7DQorICAgICAgIH0NCisNCisgICAgICAgbWlncl9yZWMtPmNrcHRB cmVhUGJhID0gbWlu
X2Rldl9zZWN0b3JzIC0gUkFJRF9ESVNLX1JFU0VSVkVEX0JMT0NLU19JTVNN X0hJOw0KKw0KKyAg
ICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KHJkZXYsICZtZGRldi0+ZGlza3Ms IHNhbWVfc2V0KSB7
DQorICAgICAgICAgICAgICAgaWYgKHJkZXYtPnJhaWRfZGlzayA8PSAoTUFY X0NLUFRfRElTS1Nf
SU1TTSAtIDEpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICBjaGFyIGJb QkRFVk5BTUVfU0la
RV07DQorICAgICAgICAgICAgICAgICAgICAgICBkZXZfc2VjdG9ycyA9IHJk ZXYtPmJkZXYtPmJk
X2lub2RlLT5pX3NpemUgLyA1MTI7DQorDQorICAgICAgICAgICAgICAgICAg ICAgICAvKiBDaGVj
a3BvaW50IFJlY29yZCBpcyBzdG9yZWQgYXQgdGhlIHZlcnkgbGFzdCBzZWN0 b3IgKi8NCisgICAg
ICAgICAgICAgICAgICAgICAgIG1pZ3JfcmVjX3NlY3RvciA9IGRldl9zZWN0 b3JzIC0gMTsNCisN
CisgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVzdF9iaXQoRmF1bHR5 LCAmcmRldi0+Zmxh
Z3MpKSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1kX3N1 cGVyX3dyaXRlKG1k
ZGV2LCByZGV2LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICBtaWdyX3JlY19zZWN0b3IsIDUxMiwgY2twdF9wYWdl KTsNCisgICAgICAg
ICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgICAgICAgIG1k X3N1cGVyX3dhaXQo
bWRkZXYpOw0KKyAgICAgICAgICAgICAgIH0NCisgICAgICAgfQ0KK30NCisN CiBzdGF0aWMgc2Vj
dG9yX3QgcmFpZDVfc2l6ZShtZGRldl90ICptZGRldiwgc2VjdG9yX3Qgc2Vj dG9ycywgaW50IHJh
aWRfZGlza3MpOw0KDQogc3RhdGljIHNlY3Rvcl90IHJlc2hhcGVfcmVxdWVz dChtZGRldl90ICpt
ZGRldiwgc2VjdG9yX3Qgc2VjdG9yX25yLCBpbnQgKnNraXBwZWQpDQpAQCAt NTA0NCw2ICs1MTEw
LDcgQEAgc3RhdGljIGludCBydW4obWRkZXZfdCAqbWRkZXYpDQoNCiAgICAg ICAgaWYgKGNvbmYt
PnJlc2hhcGVfcHJvZ3Jlc3MgIT0gTWF4U2VjdG9yKSB7DQogICAgICAgICAg ICAgICAgcHJpbnRr
KCIuLi5vayBzdGFydCByZXNoYXBlIHRocmVhZFxuIik7DQorICAgICAgICAg ICAgICAgY29uZi0+
cmVzaGFwZV9jaGVja3BvaW50ID0gamlmZmllczsNCiAgICAgICAgICAgICAg ICBjb25mLT5yZXNo
YXBlX3NhZmUgPSBjb25mLT5yZXNoYXBlX3Byb2dyZXNzOw0KICAgICAgICAg ICAgICAgIGF0b21p
Y19zZXQoJmNvbmYtPnJlc2hhcGVfc3RyaXBlcywgMCk7DQogICAgICAgICAg ICAgICAgY2xlYXJf
Yml0KE1EX1JFQ09WRVJZX1NZTkMsICZtZGRldi0+cmVjb3ZlcnkpOw0KQEAg LTUwNTIsNiArNTEx
OSw3IEBAIHN0YXRpYyBpbnQgcnVuKG1kZGV2X3QgKm1kZGV2KQ0KICAgICAg ICAgICAgICAgIHNl
dF9iaXQoTURfUkVDT1ZFUllfUlVOTklORywgJm1kZGV2LT5yZWNvdmVyeSk7 DQogICAgICAgICAg
ICAgICAgbWRkZXYtPnN5bmNfdGhyZWFkID0gbWRfcmVnaXN0ZXJfdGhyZWFk KG1kX2RvX3N5bmMs
IG1kZGV2LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAicmVzaGFwZSIpOw0KKyAgICAgICAgICAgICAgIG1kZGV2LT5y ZXN5bmNfbWF4ID0g
MDsNCiAgICAgICAgfQ0KDQogICAgICAgIC8qIHJlYWQtYWhlYWQgc2l6ZSBt dXN0IGNvdmVyIHR3
byB3aG9sZSBzdHJpcGVzLCB3aGljaCBpcw0KQEAgLTU4ODcsNiArNTk1NSwx MDYgQEAgc3RhdGlj
IHZvaWQgKnJhaWQ2X3Rha2VvdmVyKG1kZGV2X3QgKm1kZGV2KQ0KICAgICAg ICBtZGRldi0+cmFp
ZF9kaXNrcyArPSAxOw0KICAgICAgICByZXR1cm4gc2V0dXBfY29uZihtZGRl dik7DQogfQ0KKy8q
DQorICogSU1TTSBzcGVjaWZpYyBjb2RlLg0KKyAqIFJlYWRzIE1pZ3JhdGlv biBSZWNvcmQgZnJv
bSB0aGUgYXJyYXkgZGV2aWNlLg0KKyAqLw0KK3N0YXRpYyBpbnQgcmFpZDVf bG9hZF9taWdyX3Jl
Y29yZF9pbXNtKG1kZGV2X3QgKm1kZGV2LA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGltc21f
bWlncl9yZWNvcmQgKippbml0X21pZ3JfcmVjKQ0KK3sNCisgICAgICAgc3Ry dWN0IHBhZ2UgKmNr
cHRfcGFnZTsNCisgICAgICAgbWRrX3JkZXZfdCAqcmRldjsNCisgICAgICAg c2VjdG9yX3Qgc2Vj
dG9yOw0KKyAgICAgICBpbnQgcmV0dmFsID0gLTE7DQorDQorICAgICAgIGNr cHRfcGFnZSA9IGFs
bG9jX3BhZ2UoR0ZQX0tFUk5FTCk7DQorICAgICAgIGlmICghY2twdF9wYWdl KSB7DQorICAgICAg
ICAgICAgICAgcHJpbnRrKEtFUk5fQUxFUlQgIm1kOiBvdXQgb2YgbWVtb3J5 LlxuIik7DQorICAg
ICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQorICAgICAgIH0NCisNCisg ICAgICAgKmluaXRf
bWlncl9yZWMgPSAoc3RydWN0IGltc21fbWlncl9yZWNvcmQgKikgcGFnZV9h ZGRyZXNzKGNrcHRf
cGFnZSk7DQorDQorICAgICAgIGxpc3RfZm9yX2VhY2hfZW50cnkocmRldiwg Jm1kZGV2LT5kaXNr
cywgc2FtZV9zZXQpIHsNCisgICAgICAgICAgICAgICBpZiAocmRldi0+cmFp ZF9kaXNrIDw9IChN
QVhfQ0tQVF9ESVNLU19JTVNNIC0gMSkpIHsNCisgICAgICAgICAgICAgICAg ICAgICAgIGNoYXIg
YltCREVWTkFNRV9TSVpFXTsNCisNCisgICAgICAgICAgICAgICAgICAgICAg IHNlY3RvciA9IHJk
ZXYtPmJkZXYtPmJkX2lub2RlLT5pX3NpemUgLyA1MTIgLSAxOw0KKw0KKyAg ICAgICAgICAgICAg
ICAgICAgICAgaWYgKCF0ZXN0X2JpdChGYXVsdHksICZyZGV2LT5mbGFncykp IHsNCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN5bmNfcGFnZV9pbyhyZGV2 LT5iZGV2LCBzZWN0
b3IsIDUxMiwgY2twdF9wYWdlLCBSRUFEKSkgew0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHZhbCA9IDA7DQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0NCisgICAg
ICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICB9DQorICAg ICAgIH0NCisgICAg
ICAgcmV0dXJuIHJldHZhbDsNCit9DQorDQorLyoNCisgKiBJTVNNIHNwZWNp ZmljIGNvZGUuDQor
ICogSW5pdGlhbGl6ZXMgcmVzaGFwZSBjb25maWd1cmF0aW9uIGZvciBleHRl cm5hbCBJTVNNIG1l
dGFkYXRhDQorICovDQorI2RlZmluZSBTRUNUX1BFUl9NQl9TSElGVCAxMQ0K Kw0KK3N0YXRpYyBp
bnQgcmFpZDVfaW5pdF9yZXNoYXBlX2ltc20obWRkZXZfdCAqbWRkZXYsIHJh aWQ1X2NvbmZfdCAq
Y29uZikNCit7DQorICAgICAgIHN0cnVjdCBpbXNtX21pZ3JfcmVjb3JkICpp bml0X21pZ3JfcmVj
Ow0KKyAgICAgICBpbnQgbmV3X2RhdGFfZGlza3MsIHByZXZfZGF0YV9kaXNr czsNCisgICAgICAg
aW50IHByZXZfc3RyaXBlX3NlY3RvcnMsIG5ld19zdHJpcGVfc2VjdG9yczsN CisgICAgICAgbG9u
ZyBsb25nIHVuc2lnbmVkIG5ld19hcnJheV9zZWN0b3JzOw0KKyAgICAgICB1 bnNpZ25lZCBibG9j
a3NfcGVyX3VuaXQ7DQorDQorICAgICAgIC8qIExvYWQgdGhlIGV4aXN0aW5n IGltc20gTWlnciBS
ZWNvcmQNCisgICAgICAgICogaXQgc2hvdWxkIGJlIGluaXRpYWxpemVkIGJ5 IG1kbW9uDQorICAg
ICAgICAqLw0KKyAgICAgICBpZiAocmFpZDVfbG9hZF9taWdyX3JlY29yZF9p bXNtKG1kZGV2LCAm
aW5pdF9taWdyX3JlYykgIT0gMCkgew0KKyAgICAgICAgICAgICAgIHByaW50 ayhLRVJOX0FMRVJU
ICJtZDogY291bGQgbm90IHJlYWQgSU1TTSBtaWdyIHJlY29yZC5cbiIpOw0K KyAgICAgICAgICAg
ICAgIHJldHVybiAtMTsNCisgICAgICAgfQ0KKw0KKyAgICAgICBjb25mLT5t aWdyX3JlYy5yZWNT
dGF0dXMgPSAwOw0KKyAgICAgICBjb25mLT5taWdyX3JlYy5jdXJyTWlnclVu aXQgPSBjb25mLT5y
ZXNoYXBlX3Byb2dyZXNzOw0KKw0KKyAgICAgICAvKiBDb3B5IGZhbWlseSBu dW1iZXIgZnJvbSBt
aWdyIHJlY29yZCBvbiByYWlkIGRldg0KKyAgICAgICAgKiBpdCB3YXMgc2V0 IGJ5IHRoZSBJTVNN
IHVzZXIgc3BhY2Ugd2hlbiBzdGFydGluZyBtaWdyYXRpb24NCisgICAgICAg ICovDQorICAgICAg
IGNvbmYtPm1pZ3JfcmVjLmZhbWlseU51bSA9IGluaXRfbWlncl9yZWMtPmZh bWlseU51bTsNCisg
ICAgICAgY29uZi0+bWlncl9yZWMuYXNjZW5kaW5nTWlnciA9IChtZGRldi0+ ZGVsdGFfZGlza3Mg
PiAwKSA/IDEgOiAwOw0KKyAgICAgICBwcmV2X2RhdGFfZGlza3MgPSBjb25m LT5wcmV2aW91c19y
YWlkX2Rpc2tzIC0gY29uZi0+bWF4X2RlZ3JhZGVkOw0KKyAgICAgICBuZXdf ZGF0YV9kaXNrcyA9
IGNvbmYtPnJhaWRfZGlza3MgLSBjb25mLT5tYXhfZGVncmFkZWQ7DQorDQor ICAgICAgIG5ld19h
cnJheV9zZWN0b3JzID0gbWRkZXYtPmRldl9zZWN0b3JzOw0KKyAgICAgICBu ZXdfYXJyYXlfc2Vj
dG9ycyAmPSB+KHVuc2lnbmVkIGxvbmcgbG9uZykobWRkZXYtPmNodW5rX3Nl Y3RvcnMtMSk7DQor
ICAgICAgIG5ld19hcnJheV9zZWN0b3JzICo9IG5ld19kYXRhX2Rpc2tzOw0K Kw0KKyAgICAgICBu
ZXdfYXJyYXlfc2VjdG9ycyA9IChuZXdfYXJyYXlfc2VjdG9ycyA+PiBTRUNU X1BFUl9NQl9TSElG
VCkNCisgICAgICAgICAgICAgICA8PCBTRUNUX1BFUl9NQl9TSElGVDsNCisN CisgICAgICAgY29u
Zi0+bWlncl9yZWMucG9zdE1pZ3JWb2xDYXBhY2l0eSA9IG5ld19hcnJheV9z ZWN0b3JzOw0KKyAg
ICAgICBjb25mLT5taWdyX3JlYy5wb3N0TWlnclZvbENhcGFjaXR5SGkgPSBu ZXdfYXJyYXlfc2Vj
dG9ycyA+PiAzMjsNCisNCisgICAgICAgcHJldl9zdHJpcGVfc2VjdG9ycyA9 ICBjb25mLT5wcmV2
X2NodW5rX3NlY3RvcnMgKiBwcmV2X2RhdGFfZGlza3M7DQorICAgICAgIG5l d19zdHJpcGVfc2Vj
dG9ycyA9IGNvbmYtPmNodW5rX3NlY3RvcnMgKiBuZXdfZGF0YV9kaXNrczsN CisNCisgICAgICAg
aWYgKHByZXZfc3RyaXBlX3NlY3RvcnMgPiBuZXdfc3RyaXBlX3NlY3RvcnMp DQorICAgICAgICAg
ICAgICAgYmxvY2tzX3Blcl91bml0ID0gcHJldl9zdHJpcGVfc2VjdG9yczsN CisgICAgICAgZWxz
ZQ0KKyAgICAgICAgICAgICAgIGJsb2Nrc19wZXJfdW5pdCA9IG5ld19zdHJp cGVfc2VjdG9yczsN
CisNCisgICAgICAgbmV3X2FycmF5X3NlY3RvcnMgPSBtZGRldi0+ZGV2X3Nl Y3RvcnM7DQorICAg
ICAgIG5ld19hcnJheV9zZWN0b3JzICo9IG5ld19kYXRhX2Rpc2tzOw0KKw0K KyAgICAgICBzZWN0
b3JfZGl2KG5ld19hcnJheV9zZWN0b3JzLCBibG9ja3NfcGVyX3VuaXQpOw0K KyAgICAgICBjb25m
LT5taWdyX3JlYy5udW1NaWdyVW5pdHMgPSBuZXdfYXJyYXlfc2VjdG9yczsN CisgICAgICAgY29u
Zi0+bWlncl9yZWMuZGVzdERlcHRoUGVyVW5pdCA9IGJsb2Nrc19wZXJfdW5p dCAvDQorICAgICAg
ICAgICAgICAgbmV3X2RhdGFfZGlza3M7DQorDQorICAgICAgIGNvbmYtPm1p Z3JfcmVjLmJsb2Nr
c1BlclVuaXQgPSBibG9ja3NfcGVyX3VuaXQ7DQorDQorICAgICAgIHJldHVy biAwOw0KK30NCg0K
IC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioq
KioqKioqKioqDQogICogIGZvciBleHRlcm5hbCBtZXRhIHdlIGhhdmUgdG8g d2FpdCB1bnRpbCBz
eW5jX21heCBpbiBzeXNmcyBpcyAwDQpAQCAtNTk2OCw2ICs2MTM2LDcgQEAg c3RhdGljIGludCBy
YWlkNV93YWl0X3Jlc2hhcGUobWRkZXZfdCAqbWRkZXYsIHVuc2lnbmVkIGlu dCB1c2VUaW1lb3V0
KQ0KICAgICAgICAgICAgICAgICAgICAgICAgbWRrX3JkZXZfdCAqcmRldjsN CiAgICAgICAgICAg
ICAgICAgICAgICAgIGludCBhZGRlZF9kZXZpY2VzID0gMDsNCiAgICAgICAg ICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7DQorICAgICAgICAgICAgICAgICAg ICAgICBtZGRldl90
ICpwYXJlbnQ7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIC8qIEFkZCBz b21lIG5ldyBkcml2
ZXMsIGFzIG1hbnkgYXMgd2lsbCBmaXQuICovDQogICAgICAgICAgICAgICAg ICAgICAgICAvKiBX
ZSBrbm93IHRoZXJlIGFyZSBlbm91Z2ggdG8gbWFrZQ0KQEAgLTYwMjgsNiAr NjE5NywxMiBAQCBz
dGF0aWMgaW50IHJhaWQ1X3dhaXRfcmVzaGFwZShtZGRldl90ICptZGRldiwg dW5zaWduZWQgaW50
IHVzZVRpbWVvdXQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHByaW50ayhLRVJO
X1dBUk5JTkcgIm1kOiAlczogU2Vjb25kIGNoZWNrIFBBU1NFRCAiDQogICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIihyYWlkNSByZXNoYXBlKS5cbiIs DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWRuYW1lKG1kZGV2KSk7 DQorDQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGZvciBJTVNNIG1ldGEgaGFu ZGxlIE1pZ3JhdGlv
biBSZWNvcmQgKi8NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cGFyZW50ID0gbWRf
ZmluZF9wYXJlbnRfY29udGFpbmVyKG1kZGV2KTsNCisgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgaWYgKHBhcmVudCAmJiAoIXN0cmNtcChwYXJlbnQtPm1ldGFkYXRh X3R5cGUsICJpbXNt
IikpKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGlmIChyYWlkNV9p
bml0X3Jlc2hhcGVfaW1zbShtZGRldiwgY29uZikgIT0gMCkNCisgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldFZhbCA9IDA7DQogICAg ICAgICAgICAgICAg
ICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICB9DQpAQCAt NjA4Myw2ICs2MjU4
LDcgQEAgc3RhdGljIHN0cnVjdCBtZGtfcGVyc29uYWxpdHkgcmFpZDVfcGVy c29uYWxpdHkgPQ0K
ICAgICAgICAucXVpZXNjZSAgICAgICAgPSByYWlkNV9xdWllc2NlLA0KICAg ICAgICAudGFrZW92
ZXIgICAgICAgPSByYWlkNV90YWtlb3ZlciwNCiAgICAgICAgLndhaXRfcmVz aGFwZSAgID0gcmFp
ZDVfd2FpdF9yZXNoYXBlLA0KKyAgICAgICAud3JpdGVfbWlncl9yZWNvcmQg PSByYWlkNV91cGRh
dGVfbWlncl9yZWNvcmRfaW1zbSwNCiB9Ow0KDQogc3RhdGljIHN0cnVjdCBt ZGtfcGVyc29uYWxp
dHkgcmFpZDRfcGVyc29uYWxpdHkgPQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv bWQvcmFpZDUuaCBi
L2RyaXZlcnMvbWQvcmFpZDUuaA0KaW5kZXggZGQ3MDgzNS4uN2Y2Mzg3ZSAx MDA2NDQNCi0tLSBh
L2RyaXZlcnMvbWQvcmFpZDUuaA0KKysrIGIvZHJpdmVycy9tZC9yYWlkNS5o DQpAQCAtMzM4LDYg
KzMzOCwyNCBAQCBzdHJ1Y3QgcjZfc3RhdGUgew0KICAqIEhBTkRMRSBnZXRz IGNsZWFyZWQgaWYg
c3RyaXBlX2hhbmRsZSBsZWF2ZSBub3RoaW5nIGxvY2tlZC4NCiAgKi8NCg0K K3N0cnVjdCBpbXNt
X21pZ3JfcmVjb3JkIHsNCisgICAgICAgdTMyIHJlY1N0YXR1czsgLyogU3Rh dHVzIHVzZWQgdG8g
ZGV0ZXJtaW5lIGhvdyB0byByZXN0YXJ0DQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgKiBtaWdyYXRpb24gaW4gY2FzZSBpdCBhYm9ydHMgaW4gc29t ZSBmYXNoaW9uICov
DQorICAgICAgIHUzMiBjdXJyTWlnclVuaXQ7IC8qIDAuLm51bU1pZ3JVbml0 cy0xICovDQorICAg
ICAgIHUzMiBmYW1pbHlOdW07IC8qIEZhbWlseSBudW1iZXIgb2YgTVBCIGNv bnRhaW5pbmcgdGhl
IFJhaWREZXYgdGhhdCBpcyBtaWdyYXRpbmcgKi8NCisgICAgICAgdTMyIGFz Y2VuZGluZ01pZ3I7
IC8qIFRydWUgaWYgbWlncmF0aW5nIGluIGluY3JlYXNpbmcgb3JkZXIgb2Yg bGJhcyAqLw0KKyAg
ICAgICB1MzIgYmxvY2tzUGVyVW5pdDsgLyogTnVtIGRpc2sgYmxvY2tzIHBl ciB1bml0IG9mIG9w
ZXJhdGlvbiAqLw0KKyAgICAgICB1MzIgZGVzdERlcHRoUGVyVW5pdDsgLyog TnVtIG1lbWJlciBi
bG9ja3MgZWFjaCBkZXN0TWFwIG1lbWJlciBkaXNrDQorICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAqICBhZHZhbmNlcyBwZXIgdW5p dC1vZi1vcGVyYXRp
b24gKi8NCisgICAgICAgdTMyIGNrcHRBcmVhUGJhOyAgICAgICAgICAgLyog UGJhIG9mIGZpcnN0
IGJsb2NrIG9mIGNrcHQgY29weSBhcmVhICovDQorICAgICAgIHUzMiBkZXN0 MXN0TWVtYmVyTGJh
OyAgLyogRmlyc3QgbWVtYmVyIGxiYSBvbiBmaXJzdCBzdHJpcGUgb2YgZGVz dGluYXRpb24gKi8N
CisgICAgICAgdTMyIG51bU1pZ3JVbml0czsgICAgICAgICAgLyogVG90YWwg bnVtIG1pZ3JhdGlv
biB1bml0cy1vZi1vcCAqLw0KKyAgICAgICB1MzIgcG9zdE1pZ3JWb2xDYXBh Y2l0eTsgIC8qIFNp
emUgb2Ygdm9sdW1lIGFmdGVyIG1pZ3JhdGlvbiBjb21wbGV0ZXMgKi8NCisg ICAgICAgdTMyIHBv
c3RNaWdyVm9sQ2FwYWNpdHlIaTsvKiAgRXhwYW5zaW9uIHNwYWNlIGZvciBM QkE2NCAqLw0KKyAg
ICAgICB1MzIgY2twdFJlYWREaXNrTnVtOyAgICAgIC8qIFdoaWNoIG1lbWJl ciBkaXNrIGluIGRl
c3RTdWJNYXBbMF0gdGhlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICogIG1pZ3JhdGlvbiBja3B0IHJlY29yZCB3 YXMgcmVhZCBmcm9t
DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICogIChmb3IgcmVjb3ZlcmVkIG1pZ3JhdGlvbnMpICovDQorfTsNCg0K IHN0cnVjdCBkaXNr
X2luZm8gew0KICAgICAgICBtZGtfcmRldl90ICAgICAgKnJkZXY7DQpAQCAt MzY5LDYgKzM4Nyw4
IEBAIHN0cnVjdCByYWlkNV9wcml2YXRlX2RhdGEgew0KICAgICAgICBzaG9y dCAgICAgICAgICAg
ICAgICAgICBnZW5lcmF0aW9uOyAvKiBpbmNyZW1lbnRzIHdpdGggZXZlcnkg cmVzaGFwZSAqLw0K
ICAgICAgICB1bnNpZ25lZCBsb25nICAgICAgICAgICByZXNoYXBlX2NoZWNr cG9pbnQ7IC8qIFRp
bWUgd2UgbGFzdCB1cGRhdGVkDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICogbWV0YWRhdGEgKi8NCisgICAgICAgLyogcmVz aGFwZTogaW1zbSBz
cGVjaWZpYyBmaWVsZHMgcGFzc2VkIHRocm91Z2ggdGhlIG1pZ3JhdGlvbiBy ZWNvcmQgKi8NCisg
ICAgICAgc3RydWN0IGltc21fbWlncl9yZWNvcmQgbWlncl9yZWM7DQoNCiAg ICAgICAgc3RydWN0
IGxpc3RfaGVhZCAgICAgICAgaGFuZGxlX2xpc3Q7IC8qIHN0cmlwZXMgbmVl ZGluZyBoYW5kbGlu
ZyAqLw0KICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICAgICAgICBob2xkX2xp c3Q7IC8qIHByZXJl
YWQgcmVhZHkgc3RyaXBlcyAqLw0KDQo=
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo [at] vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
